package com.ruoyi.labdanger.mapper;

import java.util.List;

import com.ruoyi.labdanger.domain.LabApplyPurchaseDetails;

/**
 * 在用化学品Mapper接口
 * 
 * @author winner pan
 * @date 2022-03-04
 */
public interface LabApplyPurchaseDetailsMapper 
{
    /**
     * 查询在用化学品
     * 
     * @param purchaseDetailId 在用化学品ID
     * @return 在用化学品
     */
    public LabApplyPurchaseDetails selectLabApplyPurchaseDetailsById(Long purchaseDetailId);

    /**
     * 查询在用化学品列表
     * 
     * @param labApplyPurchaseDetails 在用化学品
     * @return 在用化学品集合
     */
    public List<LabApplyPurchaseDetails> selectLabApplyPurchaseDetailsList(LabApplyPurchaseDetails labApplyPurchaseDetails);

    /**
     * 新增在用化学品
     * 
     * @param labApplyPurchaseDetails 在用化学品
     * @return 结果
     */
    public int insertLabApplyPurchaseDetails(LabApplyPurchaseDetails labApplyPurchaseDetails);

    /**
     * 修改在用化学品
     * 
     * @param labApplyPurchaseDetails 在用化学品
     * @return 结果
     */
    public int updateLabApplyPurchaseDetails(LabApplyPurchaseDetails labApplyPurchaseDetails);

    /**
     * 删除在用化学品
     * 
     * @param purchaseDetailId 在用化学品ID
     * @return 结果
     */
    public int deleteLabApplyPurchaseDetailsById(Long purchaseDetailId);

    /**
     * 批量删除在用化学品
     * 
     * @param purchaseDetailIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteLabApplyPurchaseDetailsByIds(Long[] purchaseDetailIds);
    
    public int updateDetailsQuantityById(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public int scanoutIventory(LabApplyPurchaseDetails labApplyPurchaseDetails);
    public int scaninIventory(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public int updateApproval(Long instanceId);
    
    public int updateScanIn(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public int updatePuchaseId(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public int updateRemoved(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public int updateQuantity(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public List<LabApplyPurchaseDetails> queryInventory(LabApplyPurchaseDetails labApplyPurchaseDetails);
    
    public List<LabApplyPurchaseDetails>  queryScaninData(LabApplyPurchaseDetails labApplyPurchaseDetails);
}
